package actions.server;

import java.io.BufferedReader;
import java.io.PrintWriter;
import java.util.Map;

import server.ColaCircular;
import server.Usuario;
import actions.Action;
import actions.Commands;

public class MsjsRequestAction extends Action {

	

	public MsjsRequestAction(String[] _arguments, BufferedReader _in,
			PrintWriter _out, Map<String, Usuario> _usuarios,
			ColaCircular _colaMensajes) {
		super(_arguments, _in, _out, _usuarios, _colaMensajes);
	}

	@Override
	public String parseArguments() {
		if ( getArguments().length==1 && 
				!getArguments()[0].isEmpty() )
		{
			try
			{
				Integer.parseInt(getArguments()[0]);
				return Commands.OK;
			}
			catch(NumberFormatException exp)
			{
				return "Escriba un numero valido luego del comando.";
			}
		}
		else
		{
			return "Escriba un numero valido luego del comando.";
		}
	}

	@Override
	public void doAction() {
		String lastMsj = getArguments()[0];
		getOut().println("#LAST "+getColaMsjs().getAcumMsjNumber()+getColaMsjs().getMsjs(Integer.parseInt(lastMsj)));

	}

}
